package com.atguigu.gmall.product.feign.fallback;

import com.alibaba.fastjson.JSONObject;
import com.atguigu.gmall.model.product.*;
import com.atguigu.gmall.product.feign.ProductFeignClient;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 降级
 */
@Component
public class ProductFeignClientFallBack implements ProductFeignClient {
    /**
     * 通过三级分类id查询分类信息
     *
     * @param category3Id
     * @return
     */
    @Override
    public BaseCategoryView getCategoryView(Long category3Id) {
        return null;
    }

    /**
     * 根据spuId，skuId 查询销售属性集合
     *
     * @param skuId
     * @param spuId
     * @return
     */
    @Override
    public List<SpuSaleAttr> getSpuSaleAttrListCheckBySku(Long skuId, Long spuId) {
        return null;
    }

    /**
     * 根据spuId 查询map 集合属性
     *
     * @param spuId
     * @return
     */
    @Override
    public Map getSkuValueIdsMap(Long spuId) {
        return null;
    }

    /**
     * 获取sku最新价格
     *
     * @param skuId
     * @return
     */
    @Override
    public BigDecimal getSkuPrice(Long skuId) {
        return null;
    }

    /**
     * 根据skuId获取sku信息
     *
     * @param skuId
     * @return
     */
    @Override
    public SkuInfo getSkuInfo(Long skuId) {
        return null;
    }

    /**
     * 获取全部分类信息
     *
     * @return
     */
    @Override
    public List<JSONObject> getBaseCategoryList() {
        return null;
    }

    /**
     * 查询品牌信息详情
     *
     * @param id
     * @return
     */
    @Override
    public BaseTrademark getById(Long id) {
        return null;
    }

    /**
     * 根据sku的id查询平台属性信息
     *
     * @param skuId
     */
    @Override
    public List<BaseAttrInfo> selectBaseAttrInfoBySku(Long skuId) {
        return null;
    }

    /**
     * 修改sku库存
     *
     * @param id
     * @param num
     * @return
     */
    @Override
    public int updateSkuStock(Long id, Integer num) {
        return -1;
    }

    /**
     * 取消订单回滚库存
     *
     * @param id
     * @param num
     * @return
     */
    @Override
    public void updateCancelSkuStock(Long id, Integer num) {

    }
}
